package com.lagou.response;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class CServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("访问到了CServlet，接下来重定向到DServlet...");

        /*// 设置重定向
        resp.setStatus(302);
        resp.setHeader("Location", "dServlet");*/

        // 设置重定向 方式二：常用
        resp.sendRedirect("https://www.baidu.com");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }



    /*
        响应行：
            协议/版本号 状态码
        例如
            HTTP/1.1 200
        API
            1、设置状态码
                void setStatus(int sc)  200 302(重定向) 304(走本地浏览器缓存) 404(页面资源找不到) 500(代码有bug)
    */

    /*  响应头：
        格式  响应头名称：响应头的值
        例如
            Location:http://www.lagou.com
        API
            1、设置指定头名称和对应的值
                void setHeader(String name, String value)
    */
    /*  响应体（重点）
        API：
            1、字符输出流
                PrintWriter getWriter()
            2、字节输出流
                ServletOutputStream getOutputStream()
         注意:在同一个servlet中，两种类型的输出流不能同时存在，互斥
     */


    /*  重定向特点：
            1、地址栏会发生改变
            2、重定向是二次请求
            3、重定向是客户端（浏览器）行为，可以跳转到服务器外部资源...
            4、不能使用requests域共享数据
     */

}
